from celery import Celery

# 由于celery和django 是独立的两个服务，要想在celery服务中使用django，必须加这两句
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "luffy.settings.dev")


# import django
# django.setup()

broker = 'redis://127.0.0.1:6379/1'
backend = 'redis://127.0.0.1:6379/2'
# include  是一个列表，放被管理的task 的py文件
app = Celery(__name__, backend=backend, broker=broker, include=[
    'celery_task.course_task',
    'celery_task.order_task',
    'celery_task.user_task',
    'celery_task.home_task',  #新写的task，一定要注册
])

# 原来，任务写在这个py文件中

# 后期任务非常多，可能有用户相关任务，课程相关任务，订单相关任务。。。


#### 注册定时任务

###修改celery的配置信息    app.conf整个celery的配置信息
# 时区
app.conf.timezone = 'Asia/Shanghai'
# 是否使用UTC
app.conf.enable_utc = False

# 配置定时任务
from datetime import timedelta

app.conf.beat_schedule = {
    'update_banner_every_3_seconds': {
        'task': 'celery_task.home_task.update_banner',  # 指定执行的是哪个任务
        'schedule': timedelta(seconds=3),
    },
}
